+++ /dev/null
-start = element interface {
- attribute domain { text } ?,
- ( requires | object | template | menu ) *
-}
-
-requires = element requires {
- attribute lib { text },
- attribute version { text }
-}
-
-object = element object {
- attribute id { xsd:ID } ?,
- attribute class { text },
- attribute type-func { text } ?,
- attribute constructor { text } ?,
- (property | signal | child | ANY) *
-}
-
-template = element template {
- attribute class { text },
- attribute parent { text },
- (property | signal | child | ANY) *
-}
-
-property = element property {
- attribute name { text },
- attribute translatable { "yes" | "no" } ?,
- attribute comments { text } ?,
- attribute context { text } ?,
- (attribute bind-source { text },
- attribute bind-property { text },
- attribute bind-flags { text } ?) ?,
- text ?
-}
-
-signal = element signal {
- attribute name { text },
- attribute handler { text },
- attribute after { text } ?,
- attribute swapped { text } ?,
- attribute object { text } ?,
- attribute last_modification_time { text } ?,
- empty
-}
-
-child = element child {
- attribute type { text } ?,
- attribute internal-child { text } ?,
- (object | ANY)*
-}
-
-menu = element menu {
- attribute id { xsd:ID },
- attribute domain { text } ?,
- (item | submenu | section) *
-}
-
-item = element item {
- attribute id { xsd:ID } ?,
- (attribute_ | link) *
-}
-
-attribute_ = element attribute {
- attribute name { text },
- attribute type { text } ?,
- attribute translatable { "yes" | "no" } ?,
- attribute context { text } ?,
- attribute comments { text } ?,
- text ?
-}
-
-link = element link {
- attribute id { xsd:ID } ?,
- attribute name { text },
- item *
-}
-
-submenu = element submenu {
- attribute id { xsd:ID } ?,
- (attribute_ | item | submenu | section) *
-}
-
-section = element section {
- attribute id { xsd:ID } ?,
- (attribute_ | item | submenu | section) *
-}
-
-ANY = element * - (interface | requires | object | template | property | signal | child | menu | item | attribute | link | submenu | section) {
- attribute * { text } *,
- (ALL * & text ?)
-}
-ALL = element * {
- attribute * { text } *,
- (ALL * & text ?)
-}